import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

#不使用Designer，而是通过以下语法直接建立 Signal-slot 连接 
#widget.signal.connect(slot_function)
#假设单击按钮时是否要调用函数。 在这里，clicked 信号将连接到一个可调用函数。 它可以通过以下任何一种技术来实现
#button.clicked.connect(slot_function)

#在以下示例中，在 QDialog 窗口中添加了两个 QPushButton 对象（b1 和 b2） 
#我们想分别在单击 b1 和 b2 时调用函数 b1_clicked() 和 b2_clicked()

#当b1被点击时，clicked()信号连接到b1_clicked()函数
#b1.clicked.connect(b1_clicked())
#单击 b2 时，clicked() 信号连接到 b2_clicked() 函数


def window():
   app = QApplication(sys.argv)
   win = QDialog()
   b1 = QPushButton(win)
   b1.setText("Button1")
   b1.move(50,20)
   b1.clicked.connect(b1_clicked)
   
   b2 = QPushButton(win)
   b2.setText("Button2")
   b2.move(50,50)
   b2.clicked.connect(b2_clicked)
   
   win.setGeometry(100,100,200,100)

   win.setWindowTitle("PyQt5")
   win.show()
   sys.exit(app.exec_())

def b1_clicked():
   print ("Button 1 clicked")

def b2_clicked():
   print ("Button 2 clicked")

if __name__ == '__main__':
   window()
 